using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Joy.Erp.BasicArchives.Core.Filters;

namespace Joy.Erp.BasicArchives.ItemMasters
{
    public partial interface IUnitGroupAppService
    {
        Task<UnitGroupDto> GetAsync(Guid id);
        Task<AuxiliaryUnitDto> GetChildAsync(Guid id);
        Task<UnitGroupDto> FindAsync(string filter);
        Task<UnitGroupDto> FindBySourceKeyAsync(string sourceKey, string sourceType);
        Task<PagedResultDto<UnitGroupDto>> GetListAsync(FilterRequestDto input);
        Task<PagedResultDto<UnitGroupDto>> QueryAsync(FilterGroupRequestDto input);
        Task<PagedResultDto<AuxiliaryUnitDto>> QueryChildrenAsync(FilterGroupRequestDto input);
        Task<UnitGroupDto> CreateAsync(UnitGroupCreateDto input);
        Task<UnitGroupDto> UpdateAsync(Guid id, UnitGroupUpdateDto input);
        Task DeleteAsync(Guid id);
    }
}
